home *** CD-ROM | disk | FTP | other *** search
/ Freelog 121 / FreelogMagazineJuilletAout2014-No121.iso / Outils / Adobe-Air / adobe-air_13.exe / [0] / setup.swf / scripts / mx / resources / ResourceBundle.as < prev    next >
Text File  |  2014-03-27  |  4KB  |  157 lines

  1. package mx.resources
  2. {
  3.    import flash.system.ApplicationDomain;
  4.    import mx.core.mx_internal;
  5.    import mx.utils.StringUtil;
  6.    
  7.    use namespace mx_internal;
  8.    
  9.    public class ResourceBundle implements IResourceBundle
  10.    {
  11.       
  12.       mx_internal static const VERSION:String = "3.0.0.0";
  13.       
  14.       mx_internal static var backupApplicationDomain:ApplicationDomain;
  15.       
  16.       mx_internal static var locale:String;
  17.        
  18.       
  19.       mx_internal var _locale:String;
  20.       
  21.       private var _content:Object;
  22.       
  23.       mx_internal var _bundleName:String;
  24.       
  25.       public function ResourceBundle(param1:String = null, param2:String = null)
  26.       {
  27.          _content = {};
  28.          super();
  29.          mx_internal::_locale = param1;
  30.          mx_internal::_bundleName = param2;
  31.          _content = getContent();
  32.       }
  33.       
  34.       private static function getClassByName(param1:String, param2:ApplicationDomain) : Class
  35.       {
  36.          var _loc3_:Class = null;
  37.          if(param2.hasDefinition(param1))
  38.          {
  39.             _loc3_ = param2.getDefinition(param1) as Class;
  40.          }
  41.          return _loc3_;
  42.       }
  43.       
  44.       public static function getResourceBundle(param1:String, param2:ApplicationDomain = null) : ResourceBundle
  45.       {
  46.          var _loc3_:* = null;
  47.          var _loc4_:Class = null;
  48.          var _loc5_:Object = null;
  49.          var _loc6_:ResourceBundle = null;
  50.          if(!param2)
  51.          {
  52.             param2 = ApplicationDomain.currentDomain;
  53.          }
  54.          _loc3_ = mx_internal::locale + "$" + param1 + "_properties";
  55.          if(!(_loc4_ = getClassByName(_loc3_,param2)))
  56.          {
  57.             _loc3_ = param1 + "_properties";
  58.             _loc4_ = getClassByName(_loc3_,param2);
  59.          }
  60.          if(!_loc4_)
  61.          {
  62.             _loc3_ = param1;
  63.             _loc4_ = getClassByName(_loc3_,param2);
  64.          }
  65.          if(!_loc4_ && mx_internal::backupApplicationDomain)
  66.          {
  67.             _loc3_ = param1 + "_properties";
  68.             if(!(_loc4_ = getClassByName(_loc3_,mx_internal::backupApplicationDomain)))
  69.             {
  70.                _loc3_ = param1;
  71.                _loc4_ = getClassByName(_loc3_,mx_internal::backupApplicationDomain);
  72.             }
  73.          }
  74.          if(_loc4_)
  75.          {
  76.             if((_loc5_ = new _loc4_()) is ResourceBundle)
  77.             {
  78.                return ResourceBundle(_loc5_);
  79.             }
  80.          }
  81.          throw new Error("Could not find resource bundle " + param1);
  82.       }
  83.       
  84.       protected function getContent() : Object
  85.       {
  86.          return {};
  87.       }
  88.       
  89.       public function getString(param1:String) : String
  90.       {
  91.          return String(_getObject(param1));
  92.       }
  93.       
  94.       public function get content() : Object
  95.       {
  96.          return _content;
  97.       }
  98.       
  99.       public function getBoolean(param1:String, param2:Boolean = true) : Boolean
  100.       {
  101.          var _loc3_:String = _getObject(param1).toLowerCase();
  102.          if(_loc3_ == "false")
  103.          {
  104.             return false;
  105.          }
  106.          if(_loc3_ == "true")
  107.          {
  108.             return true;
  109.          }
  110.          return param2;
  111.       }
  112.       
  113.       public function getStringArray(param1:String) : Array
  114.       {
  115.          var _loc2_:Array = _getObject(param1).split(",");
  116.          var _loc3_:int = _loc2_.length;
  117.          var _loc4_:int = 0;
  118.          while(_loc4_ < _loc3_)
  119.          {
  120.             _loc2_[_loc4_] = StringUtil.trim(_loc2_[_loc4_]);
  121.             _loc4_++;
  122.          }
  123.          return _loc2_;
  124.       }
  125.       
  126.       public function getObject(param1:String) : Object
  127.       {
  128.          return _getObject(param1);
  129.       }
  130.       
  131.       private function _getObject(param1:String) : Object
  132.       {
  133.          var _loc2_:Object = content[param1];
  134.          if(!_loc2_)
  135.          {
  136.             throw new Error("Key " + param1 + " was not found in resource bundle " + bundleName);
  137.          }
  138.          return _loc2_;
  139.       }
  140.       
  141.       public function get locale() : String
  142.       {
  143.          return mx_internal::_locale;
  144.       }
  145.       
  146.       public function get bundleName() : String
  147.       {
  148.          return mx_internal::_bundleName;
  149.       }
  150.       
  151.       public function getNumber(param1:String) : Number
  152.       {
  153.          return Number(_getObject(param1));
  154.       }
  155.    }
  156. }
  157.